Если В > С if В > С



То then begin

X:= В; X:= В;

В:= С; В:= С;

С:= X С:= X

kb end;

Если А > В if A > В

То then begin

X:= А; X:= А;

А:= В; А:= В;

В:= X В:= X

kb end;

вывод А,В,С write(А,В,С)

Кон end.

 

По поводу рассмотренной задачи сделаем следующее замечание. Эта задача, которая выводит на идею использования вспомогательных алгоритмов. Упорядочение трех переменных производится трехкратным применением алгоритма упорядочения двух переменных, поэтому разумно этот алгоритм оформить как вспомогательный. Программы, реализующие вспомогательные алгоритмы, называются подпрограммами. В Паскале есть два вида подпрограмм: подпрограммы-процедуры и подпрограммы-функции. В данной задаче можно использовать процедуру.

В учебнике [6] подпрограммы не рассматриваются. Это объясняется ограниченностью учебного времени, которое можно выделить в базовом курсе на тему «Введение в программирование». При наличии дополнительного времени рекомендуется дать ученикам представление о подпрограммах. Рассмотренная здесь задача может быть использована как опорная для раскрытия этой темы. Приведем пример программы сортировки значений трех переменных с использованием процедуры (правила работы с процедурами смотрите в учебниках по Паскалю).

Program Sort_3;

var А, В, С: real;

Procedure SOR2(var X,Y: real);

var Z: real; begin

Z:=X; X:=Y; Y:=Z

end;

begin readln(А,В,С);

SOR2(A,B);

SOR2(B,C);

SOR2(A,B);

writeln(A,B,C)

End.

Пример З. Дано вещественное число Хк натуральное N. Составить алгоритм вычисления XN. Написать программу на Паскале.

Решение.В Паскале нет операции возведения в степень. Если показатель степени — целое положительное число, то возводить в степень нужно путем ЛГ-кратного умножения основания самого на себя. Реализуется это циклическим алгоритмом:

 

алг Степень Program Power;

цел N,i; вещ X; var N,i: integer;

нач ввод N X: real;

ввод X begin readln(N);

i:=l; readln(X);

Y:=l; i:=i;

пока i<=N, повторять Y:=l;

нц while i<=N do

Y:=Y*X begin

i:=i+l Y:=Y*X;

кц i:=i+l

вывод Y end;

кон write(Y)

End.

 

При выполнении трассировки этого алгоритма обязательно следует проверить правильность его работы при N = 0. Как известно из математики, Х° = 1. Трассировка доказывает, что и в этом случае алгоритм будет давать правильный результат.

Пример 4. Последовательно вводятся N целых чисел. Найти максимальное из них.

Решение. В программировании часто приходится решать задачу поиска максимального (минимального) значения в числовом массиве. В базовом курсе могут не рассматриваться структурированные данные, в том числе массивы. Однако-эту задачу можно решить и без использования массива, ограничившись простыми переменными. Для этого ввод данных и обработку надо совместить в одном цикле. Вот как это делается:

 

Алг максимум Program maximum;

цел N, i, X, MAX var N, i, X, MAX: integer;

Нач begin

вывод 'введите N'; write('введите N');

ввод N readln(N);

вывод 'введите X'; write С введите X');

ввод X readln(X);

МАХ:=Х; i:=l MAX:= X; i:=l;


Дата добавления: 2015-12-21; просмотров: 11; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!